<?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

require_once 'Zend/Form.php';

/**
 * Description of Login
 *
 * @author kristian
 */
class Form_Login extends Zend_Form{

    public function __construct() {
        parent::__construct();

        // filtros
        $trim = new Zend_Filter_StringTrim();
        $noHtml = new Zend_Filter_StripTags();

//        $cifrar = new Zend_Filter_Callback(
//            array('Form_Login', 'encrypt'),
//            array('key' => $clave)
//        );

//        $cifrar = new Zend_Filter_Encrypt(
//            array(
//                'adapter'=>'mcrypt',
//                'algorithm'=>MCRYPT_RIJNDAEL_128,
//                'mode'=>MCRYPT_MODE_CBC,
//                'key'=>$clave,
//                'vector'=>$vector
//            )
//        );

        // validadores
        $valLongitudLN = new Zend_Validate_StringLength();
        $valLongitudLN->setMax(45);
        $valLongitudLN->setMessage('El nombre de usuario es demasiado largo');

        $valLongitudPS = new Zend_Validate_StringLength();
        $valLongitudPS->setMax(32);
        $valLongitudPS->setMin(8);
        //$valLongitudPS->setMessage('La contraseña es demasiado larga');
        //$valLongitudPS->setMessage('La contraseña es demasiado corta');

        $valAlnum = new Zend_Validate_Alnum();
        $valAlnum->setAllowWhiteSpace(false);
        $valAlnum->setMessage('Solo letras y números');

        // pantalla
        $txtLoginName = new Zend_Form_Element_Text('loginName');
        $txtLoginName->setLabel('Nombre de usuario: ');
        $txtLoginName->setAllowEmpty(false);
        $txtLoginName->setRequired(true);
        $txtLoginName->addFilter($trim);
        $txtLoginName->addFilter($noHtml);
        $txtLoginName->addValidator($valLongitudLN);
        $txtLoginName->addValidator($valAlnum);

        $txtPassword = new Zend_Form_Element_Password('password');
        $txtPassword->setLabel('Contraseña: ');
        $txtPassword->setAllowEmpty(false);
        $txtPassword->setRequired(true);
        $txtPassword->addFilter($trim);
        $txtPassword->addFilter($noHtml);
//        $txtPassword->addFilter($cifrar);
        $txtPassword->addValidator($valLongitudPS);
        $txtPassword->addValidator($valAlnum);

        $cbRememberMe = new Zend_Form_Element_Checkbox('recordarme');
        $cbRememberMe->setLabel('Recordarme en esta máquina');

        $submit = new Zend_Form_Element_Submit('submit');
        $submit->setLabel('Ingresar');

        $this->addElement($txtLoginName);
        $this->addElement($txtPassword);
        $this->addElement($cbRememberMe);
        $this->addElement($submit);
    }

//    private function encrypt($input,$key) {
//        $encrypted_data = mcrypt_ecb (MCRYPT_3DES, $key, $input, MCRYPT_ENCRYPT);
//        return $encrypted_data;
//    }
}
?>
